home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / gfx / edit / hamlab208d.lha / HamLabPlus_Demo / Documentation / userman.doc < prev    next >
Text File  |  1992-08-09  |  39KB  |  1,046 lines

  1. HAMLAB PLUS 2.0.8
  2. USER'S MANUAL
  3.  
  4. (c) Copyright 1990-1992 J. E. Hanway
  5. All rights reserved.
  6.  
  7. IN THIS DOCUMENT:
  8.  
  9. SETUP
  10.         SYSTEM REQUIREMENTS
  11.         INSTALLATION
  12.         CONFIGURATION
  13.         ADDING NEW FILTERS AND EXPORTERS
  14.  
  15. QUICK START
  16.  
  17. USER INTERFACE REFERENCE
  18.         COMMAND LINE OPTIONS
  19.         ENVIRONMENT VARIABLE
  20.         WORKBENCH TOOLTYPES
  21.         THE MAIN WINDOW
  22.         THE ABOUT WINDOW
  23.         THE CONFIGURATION WINDOW
  24.         THE COLOR CONTROL WINDOW
  25.         THE OUTPUT MODE WINDOW
  26.         THE AREXX CONSOLE
  27.         AREXX FUNCTION KEYS
  28.  
  29. THE HAMLAB PLUS PIPELINE AND CACHES
  30.  
  31.  
  32. SETUP
  33.  
  34. SYSTEM REQUIREMENTS
  35.  
  36. HAMLAB PLUS runs on any Amiga, under either release 1.3 or 2.0 of the
  37. Amiga operating system.  At least 1 meg of RAM is required.
  38.  
  39. For full functionality, HAMLAB PLUS requires EITHER
  40.  
  41.         AmigaOS Release 2
  42. OR
  43.         AmigaOS 1.3 and the ARP library.
  44.  
  45. If you have neither the ARP library nor Release 2, you can still run
  46. HAMLAB PLUS, with two limitations:
  47.  
  48.         It will only have a poor excuse for a file requester.
  49.  
  50.         HAMLAB 1.x input filters cannot be used.
  51.  
  52. In any case, only the ARP library itself (LIBS:arp.library) is
  53. used.  The ARP commands in C: do not need to be installed.  ARP
  54. is not required for operation under AmigaOS Release 2.
  55.  
  56. In order to use HAMLAB 1.x input filters, HAMLAB PLUS requires the
  57. AmigaDOS PIPE: device.  Different versions of PIPE: are supplied with
  58. 1.3 and 2.0.  If you encounter problems, check your DEVS:mountlist
  59. file to make sure that the correct version is used.  The 1.3 PIPE:
  60. entry should reference "l:pipe-handler" while the 2.0 entry should
  61. reference "l:queue-handler"
  62.  
  63. NOTE: You must have mathtrans.library in your LIBS: directory.
  64.  
  65. INSTALLATION
  66.  
  67. Installing a working copy of HAMLAB PLUS on your disk:
  68.  
  69. 1. Decide where you'd like to install HAMLAB PLUS, creating
  70.    a new drawer if necessary.
  71.  
  72. 2. Copy the following from the original HAMLAB PLUS disk to the drawer
  73.    that you chose in the last step. (Just drag icons in the Workbench,
  74.    or use the CLI.)
  75.  
  76.         The "HamLabPlus" program.
  77.  
  78.         The "HamLab.config" file. (*)
  79.  
  80.         The "Filters" drawer.   (This contains filters and exporters.)
  81.  
  82.         The "Curves" drawer.    (This contains color response curves.)
  83.  
  84.         (*) If you intend to run HAMLAB PLUS only from the Workbench,
  85.         just place the HamLab.config icon in the same drawer as the
  86.         program.  Otherwise, move it to either the S: or the DEVS:
  87.         directory.
  88.  
  89. 3. (optional) Copy the following, if you wish:
  90.  
  91.         The "Documentation" drawer.
  92.  
  93.         The "Rexx" drawer. (This contains example AREXX scripts.
  94.         To use them, they must be copied to the directory where
  95.         REXX: is assigned.)
  96.  
  97. 4. Run the HAMLAB PLUS copy you just made.  A "HamLab Config Problem"
  98.    requester may be displayed.  If so, just click the "Ok" button
  99.    until the main window appears.
  100.  
  101. 5. Click the "Configuration..." button to open the Config window.
  102.  
  103. 6. In the "Filter Path" line, enter the full path name of the
  104.    filters drawer.
  105.  
  106. 7. Drag the Config window to the upper left corner of the screen.
  107.    This will prevent it from opening every time you run the program.
  108.  
  109. 8. Click the "Save All" button.  This will display a file requester
  110.    with the name of your default config file filled in.  Confirm the
  111.    save.
  112.  
  113. 9. Close the main window to exit the program.
  114.  
  115. 10.Run HAMLAB PLUS again.  This time the "Config Problem" requester
  116.    should not appear.  If it does, double check the "Filter Path"
  117.    entry and make sure that the config file is being saved in the
  118.    correct directory.
  119.  
  120. Installing other files:
  121.  
  122. ARP library
  123.  
  124. The ARP library is not used if you are running AmigaOS Release 2.
  125.  
  126. If you are running AmigaOS 1.3 and don't have ARP, copy
  127. arp.library from the libs directory of the HAMLAB PLUS disk to
  128. the LIBS: directory of your boot disk.  If you obtained HAMLAB
  129. PLUS as a demo version from a source of freely distributable
  130. software, look there for ARP version 1.3.
  131.  
  132. PIPE: device
  133.  
  134. The PIPE: device is supplied as a standard part of both 1.3 and 2.0.
  135. So unless you've explicitly taken it out of your system, you already
  136. have it.  If you need to replace it, you'll have to go back to
  137. your original AmigaDOS disks to get the correct entry for
  138. DEVS:mountlist, plus the proper handler file for the L: directory.
  139. For 1.3, the handler is named "pipe-handler" and for 2.0 it is named
  140. "queue-handler".
  141.  
  142. Finally, somewhere in your s:startup-sequence or user-startup, you
  143. should have a "mount PIPE:" command.
  144.  
  145.  
  146. CONFIGURATION
  147.  
  148. When HAMLAB PLUS is run, it loads its configuration information from
  149. a "config file."  The config file is named "HamLab.config" and
  150. HAMLAB PLUS will look for it in the following places, in order:
  151.  
  152.         the current directory
  153.         S:
  154.         DEVS:
  155.  
  156. The config file contains the following types of information:
  157.  
  158.         Directory names where HAMLAB PLUS creates or looks for files
  159.         (filter programs and temporary files, for example)
  160.  
  161.         Information about filter and exporter programs that are
  162.         installed.
  163.  
  164.         Positions for all HAMLAB PLUS windows, and/or whether they
  165.         should open when the program is started.
  166.  
  167.         How much memory and/or disk space HAMLAB PLUS can use.
  168.  
  169.         Initial selections for all settings (resolution, size,
  170.         dithering, etc.).
  171.  
  172. When first installing HAMLAB PLUS, the most important things to get
  173. configured correctly are the filters.  Without them, HAMLAB PLUS
  174. is unable to read any images.  Once you have followed the installation
  175. instructions, the config file will be updated so that filters will be
  176. found in the correct directory and will be known to HAMLAB PLUS.
  177. Later, you'll probably want to tailor its memory and disk usage to
  178. your system.  See the section on caches for more information.
  179.  
  180. The config file is a text file that can be customized with a text
  181. editor, but editing it by hand isn't required.  The easiest way to
  182. create or update a config file is to run HAMLAB PLUS, set everything
  183. up the way you like it, and select either "Save" or "Save All" in the
  184. configuration window.
  185.  
  186. "Save" saves only settings that correspond to different types of
  187. images (resolution, dithering, etc.). For example, you may have one
  188. group of settings for hi-res images,  and another for low-res ones.
  189. "Save All" saves all settings (except cropping, which is always reset
  190. for each picture) and is suitable for creating or updating your master
  191. HamLab.config file.
  192.  
  193. Of course, you can create config files by hand that have any number of
  194. settings in them.  See the separate document "cmd-ref.doc" for more
  195. details on the config file format.
  196.  
  197. ADDING NEW FILTERS AND EXPORTERS
  198.  
  199. From time to time new filters and exports may be released for HAMLAB
  200. PLUS.  In order to use a new filter, you must first update the
  201. HamLab.config file so that HAMLAB PLUS knows about it.  Perform the
  202. following steps to do so:
  203.  
  204. 1. Copy the new filter to the HamLab filters directory. (If you
  205.    followed the standard installation, the filters directory should
  206.    be a drawer named "Filters")
  207.  
  208. 2. Run HAMLAB PLUS and bring up the Configuration window.
  209.  
  210. 3. Select "Scan Filters."  This will test every program in the
  211.    filters directory to see if it is a filter or exporter and, if
  212.    it is, what its characteristics are.
  213.  
  214. 4. When the scanning process completes, move the config window to
  215.    the upper left corner of the screen (to prevent its position
  216.    from being saved) and select "Save All."
  217.  
  218. QUICK START
  219.  
  220. HAMLAB PLUS can be started from the CLI or by double-clicking its
  221. Workbench icon.  The six large buttons at the bottom of the main
  222. window control the major functions of HAMLAB PLUS.
  223.  
  224. OPEN an image to begin working on it.  This will attempt to identify
  225. it, and read enough of it to determine its size.  Once opened, you can
  226. adjust HAMLAB PLUS's settings and execute one or more of the three
  227. main functions as follows.
  228.  
  229. EXPORT reads the image, converts it to 24 bits, crops, scales, and
  230. color corrects it, then saves it in a 24-bit format.  Hitting the
  231. EXPORT button displays a list of formats that can be exported.
  232.  
  233. DISPLAY reads the image, converts it to 24 bits, crops, scales, color
  234. corrects it, then reduces it to a displayable format and displays the
  235. image on the screen.  The displayable format can be controlled by
  236. bringing up the Output Mode window with the "Change Output Mode..."
  237. button and changing the settings before hitting DISPLAY or SAVE.
  238.  
  239. SAVE reads the image, converts it to 24 bits, crops, scales, color
  240. corrects it, then reduces it to a displayable format and saves it as
  241. an IFF file.
  242.  
  243. The remaining main buttons do the following:
  244.  
  245. REVERT resets all settings to what they were for the last EXPORT,
  246. DISPLAY, or SAVE operation you attempted.
  247.  
  248. CLEAR unloads the current image and frees any temporary memory or
  249. disk space associated with it.
  250.  
  251. Other windows:
  252.  
  253. The Output window lets you change the mode used to display and save
  254. images.
  255.  
  256. The Color Control window lets you adjust "color response curves" used
  257. by HAMLAB PLUS for color correction.  You can modify the curves by
  258. drawing them by hand, or use the controls for brightness, contrast,
  259. and gamma.
  260.  
  261. The Configuration window lets you change some basic features of how
  262. HAMLAB PLUS operates, such as how much and what kind of storage is
  263. used for temporary data.
  264.  
  265. USER INTERFACE REFERENCE
  266.  
  267. COMMAND LINE OPTIONS
  268.  
  269. HamLab Plus understands the following command line options: (You don't
  270. have to enter them in upper case.)
  271.  
  272.         PORTNAME <name>
  273.  
  274.         Sets the base name for HAMLAB PLUS's AREXX port.  The default
  275.         is HAMLAB, and HAMLAB PLUS will add a suffix to that so that
  276.         the first copy of HAMLAB PLUS running will have a port named
  277.         HAMLAB.1, the second will be HAMLAB.2, and so on.  This name
  278.         is also used for HAMLAB PLUS's public screen, if you tell it
  279.         to make one (see below).
  280.  
  281.         SETTINGS <filename>
  282.  
  283.         Specifies the filename of a HAMLAB PLUS config file to be read
  284.         in after the default config file.  Note that this is read
  285.         in addition to--not instead of--the default config file.
  286.  
  287.         STARTUP <filename>
  288.  
  289.         Specifies the filename of an AREXX script to be run whenever
  290.         HAMLAB PLUS starts up.
  291.  
  292.         PUBSCREEN <screenname>
  293.  
  294.         (AmigaOS Release 2 only)
  295.         Specifies the name of a public screen where HAMLAB PLUS will
  296.         open its windows.  The public screen must already be open.
  297.         By default HAMLAB PLUS uses the Workbench screen.
  298.  
  299.         SCREEN  <screentype>
  300.  
  301.         Forces HAMLAB PLUS to open a new screen for its windows.
  302.         <screentype> is made up of one or more keywords, separated
  303.         by slashes, and without any spaces between them.  The valid
  304.         keywords are:
  305.  
  306.         LACE    forces the screen to be interlaced
  307.  
  308.         NOLACE  forces the screen not to be interlaced
  309.  
  310.         PUBLIC  makes the screen public (AmigaOS Release 2 only)
  311.                 The name specified by PORTNAME will be used as
  312.                 the public screen name. (Or HAMLAB will be used
  313.                 if you don't specify a name.)
  314.  
  315.         COLORS  allows you to specify the four colors to be used
  316.                 on the HAMLAB PLUS screen.  The colors are specified
  317.                 as three hex digits (0-f) each (r, g, b), and each
  318.                 color is separated by a slash.
  319.  
  320.                 If you are running AmigaOS 1.3, and you tell HAMLAB
  321.                 PLUS to open a new screen without specifying the
  322.                 colors to use, HAMLAB PLUS will use colors close to
  323.                 the default 2.0 colors.  If you are running AmigaOS
  324.                 Release 2 and don't specify the colors, HAMLAB PLUS
  325.                 will copy them from the Workbench screen.
  326.  
  327.         HAMLAB PLUS doesn't allow a lot of screen options.  The size
  328.         will always be cloned from the Workbench screen (adjusted by
  329.         LACE or NOLACE), and the depth will always be 2 bit planes
  330.         (4 colors).
  331.  
  332.         If neither LACE nor NOLACE are specified, the screen will
  333.         use the current Workbench screen's interlace setting.
  334.  
  335.         Example:        SCREEN LACE/PUBLIC/COLORS/000/fff/aaa/69b
  336.  
  337.         CONVERT <pattern ...>
  338.  
  339.         This option causes HAMLAB PLUS to be run in "simple batch
  340.         mode."
  341.  
  342.         In this mode, HAMLAB PLUS will attempt to load and save each
  343.         file that matches the AmigaDOS wild card pattern(s) you enter.
  344.         When all files are processed, HAMLAB PLUS will exit.
  345.  
  346.         You will not be able to change any HAMLAB PLUS settings during
  347.         the batch operation.  The only way to control them is to
  348.         load them from a config file before the batch starts. (This is
  349.         where the SETTINGS option is useful.)
  350.  
  351.         Each converted file will be saved in the output directory
  352.         specified in your configuration file.
  353.  
  354.         CONVERT must always be the last option on the command line.
  355.         The rest of the command line is treated as filename patterns
  356.         for the CONVERT process.
  357.  
  358. Command line examples:
  359.  
  360.         1> HamLabPlus PORTNAME HLPLUS SCREEN LACE
  361.         1> HamLabPlus SETTINGS hires.config CONVERT incoming:#?.gif
  362.  
  363. ENVIRONMENT VARIABLE (AmigaOS 2.x ONLY)
  364.  
  365. Under AmigaOS 2.x, you can use the SetEnv CLI command to put common
  366. HAMLAB PLUS command line options into the HAMLABARGS variable.  For
  367. example:
  368.  
  369.         1> SetEnv HAMLABARGS PUBSCREEN MyPublicScreen
  370.         1> HamLabPlus
  371.         [hl+ opens on MyPublicScreen]
  372.  
  373. WORKBENCH TOOLTYPES
  374.  
  375. You can also enter HAMLAB PLUS command line options as tool types in
  376. HAMLAB PLUS's icon.  You should note the following:
  377.  
  378.         Tool type keywords should be in upper case.
  379.  
  380.         Only one keyword can be entered per line.
  381.  
  382.         The keyword must be followed by an equals sign and a value.
  383.         (For keywords that take no value, just enter a space.)
  384.  
  385. Examples:
  386.  
  387.         PORTNAME=HLPLUS
  388.         SCREEN=LACE/PUBLIC/COLORS/000/fff/aaa/69b
  389.  
  390. THE MAIN WINDOW
  391.  
  392. The main window is always visible when HAMLAB PLUS is running.
  393.  
  394. There are two text display areas across the top of the main window,
  395. labeled "Input" and "Output."  These display the name, size, and
  396. format of the input and output images, respectively.
  397.  
  398. Between the two text areas is a column of four buttons, each of which
  399. brings up another window full of controls.  One thing to note: these
  400. windows are "modeless," which means that you can still use any other
  401. window while they are open.  If you have enough screen space, you may
  402. find room to arrange them the most commonly used windows are all
  403. accessable at the same time.
  404.  
  405. The "Change Output Mode..." button below the "Output" area brings up
  406. another control window.
  407.  
  408. The next row of controls in the main window is for HAMLAB PLUS's
  409. cropping and scaling features.
  410.  
  411. Cropping
  412.  
  413. Cropping cuts out a rectangular area of an image and is useful for
  414. removing borders or working on pieces of a large image.
  415.  
  416. HAMLAB PLUS can crop an image twice: once as it reads the original
  417. image from disk ("input cropping") and once as it saves or displays
  418. an image ("output cropping").  There are advantages and disadvantages
  419. to both: the earlier an image is cropped, the less memory and time
  420. later operations will take.  On the other hand, the later an image is
  421. cropped, the fewer steps have to be recalculated if the cropping is
  422. changed.
  423.  
  424. In general, input cropping is useful for working on small sections of
  425. very large images, which may be impractical to process as a whole
  426. due to excessive memory requirements or long processing time.  Output
  427. cropping is useful for adjusting the borders of an image.
  428.  
  429. Input and Output crop share the same keyboard shortcuts.  The I and O
  430. keys will switch the other shortcut key meanings from one type of
  431. cropping to the other. (The underlines on the screen show the current
  432. shortcuts.)
  433.  
  434. Both cropping control areas allow you to define the cropping area by
  435. entering the width and height of the cropped area, and/or entering the
  436. upper left "UL" and lower right "LR" corners of the cropping area.
  437. You can reset a cropping area to the full image size with the "Full
  438. Size" button.
  439.  
  440. In addition, while displaying an image, you can define a new Output
  441. Crop area by holding down the shift key and holding down the left
  442. mouse button to drag a rectangle on the screen.  When you release the
  443. mouse button, the screen will be closed and the new cropping area will
  444. be entered into the gadgets.  If you then hit the Display button, it
  445. will reselect a palette and display the cropped area.
  446.  
  447. Scaling
  448.  
  449. Between the two cropping controls is the scaling control area.
  450. HAMLAB PLUS can scale in image independently in the X and Y
  451. directions to anything from 10% to 1000% of its original size.
  452.  
  453. You can scale an image either by percentages or by the desired output
  454. size.  The "%" buttons allow you to control this independently for X
  455. and Y scaling.  The ">>" buttons cycle through a few commonly used
  456. scaling values as follows:
  457.  
  458.         X:      50%, 100%
  459.  
  460.         Y:      50%, 100%, 200%
  461.  
  462. These scaling values are also coded to run faster than other values.
  463.  
  464. The "Constrained" setting causes one scaling factor to change when you
  465. change the other.  For example, if you double the X scaling value, the
  466. Y scaling value would double, too.
  467.  
  468. Messages
  469.  
  470. Extending across the width of the main window is a three line message
  471. area where informational and error messages from different operations
  472. will be displayed.  Older messages will scroll off the top.
  473.  
  474. Main Buttons
  475.  
  476. Finally, we get to the main functions of HAMLAB PLUS.  These six large
  477. buttons at the bottom of the main window control the main functions.
  478.  
  479. OPEN
  480.  
  481. This function brings up a file requester, allowing you to select a
  482. file.  HAMLAB PLUS will attempt to identify the file and, if
  483. successful, load an input filter program, which will start processing
  484. the file and return some basic information about the size and
  485. (optionally) the depth of the image.
  486.  
  487. Occasionally, some additional buffering must be done by the input
  488. filter.  This usually occurs when the image is stored in some kind of
  489. order other than the top-to-bottom scanline order that HAMLAB PLUS
  490. expects.  If buffering is needed, a progress window will indicate the
  491. progress of the buffering and allow you to cancel it.
  492.  
  493. There are two kinds of HamLab filters:
  494.  
  495.         "new" filters for HamLab 2.x
  496.  
  497.         "old" filters for HamLab 1.x (will work with HamLab 2.x)
  498.  
  499. New filters have lower overhead than old filters and should generally
  500. be faster.  They also provide HAMLAB PLUS with more information.  For
  501. example, old filters cannot send messages to the HAMLAB PLUS window.
  502.  
  503. EXPORT
  504.  
  505. This function allows HAMLAB PLUS to export 24-bit data, after it has
  506. been scaled and color-corrected, through a separate "exporter"
  507. program, which can save it in some 24-bit format.
  508.  
  509. The export button brings up a scrolling list, from which you pick the
  510. exporter you wish to use.  HAMLAB PLUS will run that exporter program,
  511. which will usually display a file requester, allowing you to choose
  512. the name of the file to be saved.  A progress window indicates the
  513. progress of the export function and allows you to cancel it.
  514.  
  515. DISPLAY
  516.  
  517. This button starts the display operation.  Depending on your settings,
  518. a great deal of calculations may be required to go from the original
  519. image to something that can be displayed, so this function can take a
  520. while.  As usual, a progress window is displayed, giving you a chance
  521. to cancel the operation.
  522.  
  523. Once HAMLAB PLUS has done enough calculating to start displaying data,
  524. it will bring a display screen to the front and start rendering into
  525. it.  You don't have to wait for rendering to complete before you can
  526. abort, pan, crop, or start saving the display.
  527.  
  528. HAMLAB PLUS uses two memory or disk "caches" to save intermediate
  529. results from prior operations, to minimize unnecessary recalculation.
  530. Cache controls are explained later.
  531.  
  532. Closing the Display
  533.  
  534. To close the display, click the right mouse button or press the
  535. space bar in the display screen.
  536.  
  537. Panning the Display
  538.  
  539. To pan the display (i.e. scroll to a different area of the image),
  540. either use the arrow keys or press and hold the left mouse button
  541. and drag in the direction to pan.
  542.  
  543. Cropping the Display
  544.  
  545. To crop the display, press and hold the shift key. (The cursor will
  546. turn into a cross-hair.)  Then position the mouse to one corner of
  547. the desired cropped area, press and hold the left mouse button, and
  548. drag out a rectangle to the other corner.  When you release the
  549. mouse button, the display will close and the output cropping area
  550. will be updated.
  551.  
  552. If you release the shift key before the mouse button, the crop
  553. operation will be canceled.
  554.  
  555. Saving from the Display
  556.  
  557. As long as the display screen is open, you can save its contents
  558. very quickly because no additional rendering calculations are
  559. required.   You may even start saving the picture before it has
  560. completed displaying by pressing the 'S' key in the display window.
  561. This will bring up the usual save file requester, then the save
  562. operation will catch up to the display.  After that, each line will
  563. be displayed and saved at the same time.
  564.  
  565. SAVE
  566.  
  567. This button starts the save operation. It first brings up a file
  568. requester to allow you to specify the name of the file to be saved.
  569.  
  570. Like the display operation, the amount of processing required may vary
  571. depending on how your caches are configured and how many settings
  572. you've changed since the last operation.
  573.  
  574. REVERT
  575.  
  576. This button reverts all settings to those which were used the last
  577. time you successfully displayed, saved, or exported an image.  It is
  578. useful if you accidentally change a setting that would cause
  579. everything to be recalculated.
  580.  
  581. CLEAR
  582.  
  583. This button releases all memory and/or temporary disk files associated
  584. with the current image, and unloads the input filter program.
  585.  
  586. THE ABOUT WINDOW
  587.  
  588. This window displays some copyright and version information, plus it
  589. also displays the amount of free memory (as two numbers: chip / fast),
  590. the amount of storage in use (two numbers: memory (fast) and temporary
  591. disk space), and the current AREXX port ID.
  592.  
  593. Note that the amount of storage in use is only what is in use by the
  594. caches, if any.  This doesn't count anything like CHIP memory used for
  595. a display, or any of the many short-lived buffers that HAMLAB PLUS
  596. will use for its processing.
  597.  
  598. THE CONFIGURATION WINDOW
  599.  
  600. This window allows you to control some miscellaneous configuration
  601. items.
  602.  
  603. Fix HAM Scrolling
  604.  
  605. Turning this setting on will make HAM images larger than the screen
  606. more usable by fixing the glitches that develop down the left edge of
  607. the image if you scroll the picture so that real left edge of the
  608. image is not visible.  This option will slow down scrolling somewhat.
  609.  
  610. This option does not affect the way an image is saved, only how
  611. it is displayed.
  612.  
  613. Beep after long functions
  614.  
  615. This setting will cause HAMLAB PLUS to beep and flash the screen
  616. after a Display, Save, or Export function has completed.
  617.  
  618. Ask before abandon
  619.  
  620. Turning this setting on will suppress the "Abandon current image?"
  621. requesters that would normally apper if you are about to discard
  622. all your work on an image without saving it.
  623.  
  624. 12-bit cache
  625.  
  626. This setting controls the maximum allowable size of 12-bit image data
  627. that will be kept in memory or on disk.  Two numbers are entered here,
  628. separated by a slash.  The first is the maximum size of a memory
  629. cache.  The second is the maximum size of a temporary disk file.  Both
  630. sizes are in bytes.  HAMLAB PLUS needs two bytes for every pixel of
  631. in a 12-bit cache.
  632.  
  633. You may set either or both sizes to zero.  This won't require any
  634. memory, but will mean that every pass will require more calculations
  635. because HAMLAB PLUS must restart earlier in the process.
  636.  
  637. 24-bit cache
  638.  
  639. This setting controls the maximum allowable size of the 24-bit image
  640. data that will be kept in memory or on disk.  As above, the two
  641. numbers control the maximum memory and disk size in bytes.  HAMLAB
  642. PLUS needs 3 bytes for each pixel in a 24-bit cache.
  643.  
  644. For more information about how the caches are used, see THE HAMLAB
  645. PLUS PIPELINE later in this document.
  646.  
  647. Note: Both caches will attempt to use a single large block of memory.
  648. If you wish to keep your caches in memory, but don't have large
  649. enough areas available, consider setting the temporary path to the
  650. RAM disk and use "disk" caches instead.
  651.  
  652. Temporary path
  653.  
  654. This setting specifies the directory where temporary disk cache files
  655. will be stored.
  656.  
  657. Filter path
  658.  
  659. This setting specifies the directory where filters and exporters are
  660. located.
  661.  
  662. Pipe device
  663.  
  664. This setting specifies the name of the pipe device.  The pipe device
  665. is only used when reading an image with a HamLab 1.x ("old") input
  666. filter.
  667.  
  668. Normally this should be set to "PIPE:" but you may wish to use a
  669. different named pipe device for improved performance.
  670.  
  671. AREXX console
  672.  
  673. This setting specifies the console window to be used for AREXX.  A
  674. console window specification looks like:
  675.  
  676.         CON:left/top/width/height/title/flags
  677.  
  678. See "Using the Amiga System Software" (the AmigaDOS User's Manual)
  679. for more information on how to specify a console window.
  680.  
  681. Load
  682.  
  683. Displays the file requester and allows you to select a new config file
  684. for loading.  All commands in the config file will be applied, and
  685. the associated settings will be changed.
  686.  
  687. Note that a config file can change any number of settings, so the
  688. "Load" operation does not reset everything before loading a new
  689. configuration.
  690.  
  691. Save
  692.  
  693. Saves some of the current values (generally those in the output
  694. window) to a new config file.  See the command reference docs for
  695. information on exactly which settings are saved.
  696.  
  697. In general, this command saves the settings that are likely to change
  698. from image to image. It is appropriate for defining commonly used
  699. groups of settings.
  700.  
  701. Save All
  702.  
  703. Saves all current values (except cropping, which is reset when a new
  704. picture is opened) to a new config file.
  705.  
  706. This command saves everything including the more permanent
  707. configuration settings, i.e. the ones that you rarely change.  It is
  708. appropriate for updating your main config file.
  709.  
  710. Scan Filters
  711.  
  712. This function scans the directory specified by the "Filter Path"
  713. setting for HamLab filters (new style only) and exporters.  For each
  714. filter or exporter program it finds, the program will be automatically
  715. queried and the information that it returns will be stored just as if
  716. it had been read from a config file.
  717.  
  718. The procedure to add new filters and exporters is simple: drop the
  719. filter into the filterpath directory, run HamLab Plus, click on
  720. "Scan Filters," then click on "Save All" and replace the old config
  721. file.
  722.  
  723.  
  724. THE COLOR CONTROL WINDOW
  725.  
  726. HAMLAB PLUS can apply color correction to an image using "color
  727. response curves."  These "curves" are really look-up tables that
  728. apply separately to the 8-bit red, green, and blue values that make
  729. up a 24-bit image.
  730.  
  731. By default, the color response curves map each input value to an
  732. identical output value (0 -> 0, 1 -> 1, 2 -> 2, ...) so that they
  733. have no effect.  Changing that mapping allows you to control things
  734. like brightness and contrast independently for red, green, and blue.
  735.  
  736. The color control window allows you to manipulate the color response
  737. curves.  You can draw the curves by hand, or use the controls in this
  738. window to modify them
  739.  
  740. The three buttons above each curve control which curves are active.
  741. Only active curves can be drawn into or affected by the controls.
  742. Note that when you draw in one active area, all active curves are
  743. affected.
  744.  
  745. Contrast
  746.  
  747. This controls the slope of the active curve(s).  A steeper slope
  748. results in a more contrasty image. ('+' means "make steeper")
  749.  
  750. Brightness
  751.  
  752. This moves the active curve(s) up and down without changing slope.
  753. Moving a curve up will increase the brightness of the image.
  754.  
  755. Gamma
  756.  
  757. This modifies the active curve(s) in a nonlinear fashion.  'C' stands
  758. for Compensate, and 'U' for Uncompensate.  These buttons will modify
  759. the curve by the factor to their right, which can be any number
  760. between 0.1 and 9.9.  (You must enter a digit, period, digit here.)
  761.  
  762. Compensating with a gamma greater than one will tend to increase the
  763. contrast of darker areas while decreasing the contrast of lighter
  764. areas.  This can do wonders to bring out details lost in shadow
  765. without destroying the brighter areas of an image.
  766.  
  767. Uncompensating with a gamma greater than one will have the opposite
  768. effect: contrast in shadows will be diminished, while contrast in
  769. highlights will be enhanced.
  770.  
  771. Negate
  772.  
  773. This turns all active curve(s) upside-down, resulting in output that
  774. looks like a photographic negative.  A nice gee-whiz feature, but
  775. probably not terribly useful.
  776.  
  777. Smooth
  778.  
  779. This button smooths out some of the bumps in the active curve(s).  You
  780. can hold this button down and the curves will get progressively
  781. smoother.
  782.  
  783. Init
  784.  
  785. This button resets all active curves to initial 45-degree line, so
  786. that they basically have no effect on the image.
  787.  
  788. Load
  789.  
  790. This button allows the active curve(s) to be loaded from disk.  They
  791. can be loaded from either a HamLab format text file, or from the CLUT
  792. chunks of some 24-bit IFF files.
  793.  
  794. Save
  795.  
  796. This button saves ALL curves (not just the active ones) to a HamLab
  797. format text file.
  798.  
  799. Monotonic
  800.  
  801. This button will fill in the holes in the active curve(s) so that the
  802. curve is either always increasing or always decreasing.  In other
  803. words, it prevents the same curve from going both up and down.
  804.  
  805. Step Size
  806.  
  807. This setting controls how "fast" the contrast and brightness controls
  808. work.  The higher the number selected, the faster (but coarser) they work.
  809.  
  810. THE OUTPUT MODE WINDOW
  811.  
  812. This window controls all of the different output options of
  813. HAMLAB PLUS.  One thing to note: the "Output" text area in the main
  814. window displays a "shorthand" version of most of the information in
  815. this window.
  816.  
  817. Some controls should be obvious: resolution, interlace, and bit planes
  818. are all straightforward.  Illegal combinations like hi-res HAM are not
  819. allowed.
  820.  
  821. Palette Mode
  822.  
  823. The palette mode controls whether this is a normal image (i.e. one
  824. palette is chosen for the whole image), or whether the image is
  825. "sliced," which means that the Amiga's custom chips are used to change
  826. some of the color palette in mid-screen.  You have the option of
  827. changing anywhere between 1 and 15 colors in each slice. (A slice is a
  828. single line on a non-interlaced screen or two lines on an interlaced
  829. screen.)
  830.  
  831. Slicing 15 colors is the old "SHAM" technique, which can have
  832. problems, depending on how much your display is overscanned and
  833. whether you are running in PAL.  Slicing 7 colors should work
  834. properly in all display modes under all conditions on all machines.
  835.  
  836.   SEVEN COLORS IS THE MOST YOU CAN SLICE WHILE REMAINING COMPLETELY
  837.   COMPATIBLE WITH ALL AMIGAS.
  838.  
  839. Additionally, you can "freeze" a palette once it has been selected, so
  840. that it will be used for subsequent images, skipping the lengthy step
  841. of picking a new palette.
  842.  
  843. You cannot freeze the palette of a sliced picture.
  844.  
  845. Finally, you can load and save a palette.  Loading a palette will also
  846. freeze it.  Saving a palette is only possible when you're not using a
  847. sliced mode.
  848.  
  849. Palettes are saved as IFF files that can be read by other programs,
  850. Dpaint IV, for example.
  851.  
  852. Save Mode
  853.  
  854. This controls how a "sliced" image is saved as an IFF file.
  855.  
  856. PCHG will write a "multi-palette" file, a new standard, which was
  857. developed by Sebastiano Vigna, the author of Mostra, a shareware
  858. all-purpose IFF display program.  Mostra versions 1.07 and later can
  859. display multi-palette files.
  860.  
  861. SHAM writes a "SHAM" (Sliced HAM) file.  Non-HAM files may be saved
  862. with this mode, but I doubt if anything will handle them correctly.
  863.  
  864. "Dynamic" writes a "dynamic" file, with the information expected by a
  865. program like Dyna-Show or DynaMate.  Again, any file may be saved with
  866. this mode, but only HAM and 4 bitplane hi-res are likely to be
  867. supported by other programs.
  868.  
  869. You can check more than one save mode at a time.  This will save the
  870. same information up to three different ways in the same IFF file.
  871. (Using three different IFF "chunks".)  This lets you save a single
  872. picture with SHAM or dynamic information for older viewers and PCHG
  873. for modern viewers.
  874.  
  875. Lock Background
  876.  
  877. This option forces HAMLAB PLUS to use the background color of the
  878. original image as the background/border color of the output image.
  879. If this is unchecked, then HAMLAB PLUS will pick a palette without
  880. regard to the original background color, then use the closest match
  881. to the original background as the output background/border color.
  882.  
  883. 24->12 Dither
  884.  
  885. This selects the type of dithering used to reduce a 24-bit image to a
  886. 12-bit image.  The following choices are available:
  887.  
  888. None            No dithering
  889. Floyd-Steinberg Serpentine error diffusion to 4 adjacent pixels
  890. Jarvis          Serpentine error diffusion to 12 adjacent pixels
  891. Stucki          Slightly different 12-pixel error diffusion
  892. Ordered         Dispersed dot ordered dither
  893. Random          Random dither
  894. Spiral-Dot      Clustered dot ordered dither
  895.  
  896.  
  897. 12->Display Dither
  898.  
  899. This selects the type of dithering used to reduce a 12-bit image to
  900. the small number of colors (2-64) actually used in the output.  This
  901. has no effect on HAM images.  The following choices are available:
  902.  
  903. None            No dithering
  904. Floyd-Steinberg Serpentine error diffusion to 4 adjacent pixels
  905. Jarvis          Serpentine error diffusion to 12 adjacent pixels
  906. Stucki          Slightly different 12-pixel error diffusion
  907.  
  908. Why two different dithering controls?  The reason has to do with the
  909. two step process HAMLAB PLUS uses to go from 24-bit data to something
  910. that the Amiga can display.  (More details on this are in the
  911. following section.)  These two steps are:
  912.  
  913. 1) Reduce the picture to the Amiga's 4096-color (12-bit) palette
  914. 2) Reduce the picture to the number of colors that the Amiga can
  915.    actually display at one time.
  916.  
  917. Here's an example:  Let's say we start with a 24-bit image that
  918. contains, among other things, 200 different intensities of pure blue.
  919. For the first step, we must reduce the number of blues to 15, because
  920. that's all we can represent with only 4 bits to control the blue.
  921. For the second step, we may only be able to display 16 colors for the
  922. entire image, and perhaps that leaves us with only 3 different blues
  923. in our final palette, so the second step must reduce the number of
  924. blues from 15 to 3.
  925.  
  926. In both steps, dithering helps prevent "banding," which can happen
  927. when gradual color changes (like our original 200 blues) are
  928. represented with only a few (in this case, 15 or 3) colors.
  929.  
  930. The two dithering steps can be controlled independently because
  931. dithering takes time, and sometimes one or both steps are unnecessary.
  932. For example, if you want to convert an Amiga HAM picture to hi-res,
  933. then 24->12 dithering is not necessary because the picture already
  934. has a 12-bit palette, but 12->display dithering may be very helpful
  935. because we're going from 4096 possible colors to only 16.
  936.  
  937. One Step Dither
  938.  
  939. Finally, there is one more option which changes the way HAMLAB PLUS
  940. dithers.  Selecting the "One Step Dithering" control does two things:
  941.  
  942. 1.  It causes the 24->12 dither setting to be ignored
  943. 2.  It uses the 12->display dithering method, but goes from 24-bit
  944.     data direct to the display in one step.
  945.  
  946. Dithering in one step is more accurate than doing it in two steps,
  947. since some information is lost by keeping only a 12-bit intermediate
  948. value for the two step process.  However, one-step dithering means
  949. that the 24-bit data must be accessed more often, so it is probably
  950. not practical to use unless you are using a 24-bit cache.
  951.  
  952. One-step dithering has no effect on HAM images.
  953.  
  954. THE AREXX CONSOLE
  955.  
  956. This window allows you to enter AREXX commands by name.  You can enter
  957. a HamLab AREXX command, or the name of an AREXX macro.
  958.  
  959. HamLab AREXX macros are stored in the REXX: directory and end with
  960. ".hl"
  961.  
  962. Examples:
  963.  
  964. CMD> message "hello there"
  965. (displays "hello there" in the message area)
  966.  
  967. CMD> foobar
  968. (since there is no built-in foobar command, this attempts to run
  969. REXX:foobar.hl)
  970.  
  971. See the command documentation for a complete list of AREXX commands
  972. and their syntax.
  973.  
  974. AREXX FUNCTION KEYS
  975.  
  976. HamLab Plus also allows you to execute AREXX macros using function
  977. keys when the main window is active.  The F1 key will execute
  978. "F1.hl", F2 will execute "F2.hl", and so on.  The Control, Alt, and
  979. Shift keys will modify the name of the command to be executed by
  980. adding a 'c', 'a' or 's' to the beginning of the file name, so
  981. Control-Alt-Shift-F10 will execute the macro named "casF10.hl"
  982.  
  983. THE HAMLAB PLUS PIPELINE AND CACHES
  984.  
  985. HAMLAB PLUS does all of its processing in a "pipeline" fashion,
  986. which means that all operations happen in a particular order, with
  987. the output of an earlier step serving as the input of the next step.
  988. HAMLAB PLUS also does all operations in a fixed order.  While this
  989. loses some flexibility, it does avoid one major limitation: memory.
  990. HAMLAB PLUS can work on practically any size image, and, at a minimum,
  991. only needs to keep about one or two scan lines of that image in memory
  992. at one time.
  993.  
  994. This does mean that some things have to be done twice.  For normal
  995. processing, HAMLAB PLUS must first process the entire image to choose
  996. a palette, then make a second pass on the same image to convert it to
  997. that palette.  This would mean that practically all of the steps in
  998. HAMLAB PLUS's process, from reading the original image, through all
  999. cropping, scaling, dithering, etc., would be done twice.
  1000.  
  1001. HAMLAB PLUS does allow a way to avoid a lot of repitition, if you have
  1002. either memory or disk space sufficient to hold an image.  It does this
  1003. by using two caches, which are temporary 12- and/or 24-bit images held
  1004. at certain points in the pipeline, and saved either in memory or on
  1005. disk.  Using a cache means that after HAMLAB PLUS has selected a
  1006. palette, it doesn't need to go all the way back to the original image
  1007. to be able to display it.  Instead, it need only go back to the
  1008. 12-bit cache, which holds the image after much of the processing has
  1009. already been done.
  1010.  
  1011. If you use caches, they will stick around until you exit the program
  1012. or use the Clear function, or until you change a setting which means
  1013. that some processing upstream of the cache must be re-done.
  1014.  
  1015. Here is the order in which HAMLAB PLUS does its operations (top to
  1016. bottom).  Where the caches fall in this order is also shown.
  1017.  
  1018.         reading original image from disk
  1019.  
  1020.         input cropping
  1021.  
  1022.         [24-bit cache]
  1023.  
  1024.         scaling
  1025.  
  1026.         color correction
  1027.  
  1028.     Here is where an exporter fits in -- it takes 24-bit data after
  1029.     scaling and color correction, and saves it in a file.
  1030.  
  1031.         reducing to a 12-bit image (possibly with dithering)
  1032.  
  1033.         [12-bit cache]
  1034.  
  1035.         palette color selection
  1036.  
  1037.         rendering to display or output file (possibly with dithering)
  1038.  
  1039. From this pipeline, we can see that if we're using both 12-bit and
  1040. 24-bit caches, then if we change the display mode (meaning we need to
  1041. choose a new palette) then we only need to go back as far as the
  1042. 12-bit cache to calculate a new palette.  However, if we change the
  1043. size of the picture, then we have to go back to the 24-bit cache,
  1044. resize the picture, and build a new 12-bit cache.
  1045.  
  1046.